package cn.openea.perpartner.meily.web.service;

import cn.openea.perpartner.meily.web.entity.CourseCategory;
import cn.openea.perpartner.meily.web.entity.dto.CourseCategoryDTOFactory;
import cn.openea.perpartner.meily.web.entity.vo.CourseCategoryEditVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 课程分类
 *
 * @author ysk
 * @email zane_ysk@qq.com
 */
public interface ICourseCategoryService extends IService<CourseCategory> {
    /**
     * 根据父id查询分类列表
     * @param parentId 父编号
     * @return list
     */
    List<CourseCategory> getListByParentId(Long parentId);

    /**
     * 修改课程分类
     * @param editVo CourseCategoryEditVo
     */
    void edit(CourseCategoryEditVo editVo);

    /**
     * 新增课程分类
     * @param editVo CourseCategoryEditVo
     */
    void add(CourseCategoryEditVo editVo);

    /**
     * 判断某个父类别是否存在指定名称的数据
     * @param name 名称
     * @param parentId 父类别Id
     * @return
     */
    boolean existence(String name, Long parentId);

    /**
     * 返回课程分类树行结构
     * @return
     */
    List<CourseCategoryDTOFactory.CategoryTreeDTO> queryCategoryTreeList();
}

